package cn.mw.cmdb.entity;

import cn.mw.microMonitorCommon.enums.RuleType;
import cn.mw.microMonitorCommon.enums.SecurityLevel;
import cn.mw.microMonitorCommon.enums.SecurityProtocolType;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.ToString;

import java.util.Date;

@Data
@ToString
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ScanResultSuccessInfo {
    public static final String insertTypeAdd = "添加";
    public static final String insertTypeManage = "纳管";
    private String id;
    private String scanRuleId;
    private String templateId;
    private String mw_templateName;
    private String groupId;
    private String modelId;
    private String scanBatch;
    private String hostName;
    private String ipAddress;
    private Long ipLong;
    private String assetsTypeName;
    private String assetsSubTypeName;

    //资产是否添加标识
    private Boolean exist = false;

    //添加状态(添加/纳管)
    private String insertType;
    //添加时间
    private Date addTime;

    private String oid;

    private RuleType ruleType;
    private String sysObjectid;

    private String brand;
    private String description;
    private String brandId;
    private String specificationId;
    private String specification;
    private String groupTypeName;
    private String pollingEngine;
    private Date scanTime;
    private String creator;
    private Date createDate;
    private String modifier;
    private Date modificationDate;
    private String port;
    private String monitorPort;
    private String community;
    private String securityName;
    private String contextName;
    private SecurityLevel securityLevel;
    private SecurityProtocolType authProtocol;
    private String authToken;
    private SecurityProtocolType privProtocol;
    private String privToken;

    //通过调用zabbix api返回的结果设置
    private String zabbixHostId;

    //资产表对应的扫描成功表id
    private int scanSuccessIdInAssets;

    //监控服务器id
    private int monitorServerId;

    //设备idcode
    private String deviceCode;
    //实例列表批量纳管使用
    private String instanceName;


    //发现时间
    private Date scanFindTime;
    //上线时间
    private Date onlineTime;
    //离线时间
    private Date offlineTime;
    //在线状态
    private String onlineStatus;

}
